import org.junit.Test;

import java.util.Date;

/**
 * JDK 8之前日期和时间的 API测试
 */
public class DateTimeTest {

    //1.System类中的currentTimeMillis()
    @Test
    public void test1(){
        long time = System.currentTimeMillis();
        //返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。 ---称为时间戳
        System.out.println(time);

    }

    /**
     * java.util.Date类   ---> 表示特定的瞬间，精确到毫秒
     *              |---java.sql.Date类
     *
     * 1.两个构造器的使用
     *      > 构造器一：Date():创建一个对应当前时间的Date对象
     *      > 构造器二：创建指定毫秒数的Date对象
     * 2.两个方法的使用
     *      > toString():显示当前的年、月、日、时、分、秒
     *      > getTime():获得当前Date对象对应的毫秒数。（时间戳）
     * 3.java.sql.Date对应着数据库中的日期类型的变量
     *      >如何实例化
     *      >如何将java.util.Date对象转换为java.sql.Date对象
     *
     */

    @Test
    public void test2(){
        //构造器一：Date()：创建一个对应当前时间的Date对象
        Date date1 = new Date();
        System.out.println(date1.toString());//Sat Feb 05 20:54:47 CST 2022

        System.out.println(date1.getTime());//1644065687126

        //构造器二：创建指定毫秒数的Date对象
        Date date2 = new Date(1644065687126L);
        System.out.println(date1.toString());//Sat Feb 05 20:54:47 CST 2022

        //创建java.sql.Date对象
        java.sql.Date date3 = new java.sql.Date(1644065687126L);
        System.out.println(date3);//2022-02-05



        //如何将java.util.Date对象转化为java.sql.Date对象
        //情况一
//        java.sql.Date date4 = new java.sql.Date(1644065687126L);
//        java.sql.Date date5 = (java.sql.Date)date4;

        //情况二
    }


}
